a11y: Cache the accessibility bus address
authorEmmanuele Bassi <ebassi@gnome.org>
Sun, 22 Nov 2020 18:40:50 +0000 (18:40 +0000)
committerEmmanuele Bassi <ebassi@gnome.org>
Mon, 23 Nov 2020 14:34:46 +0000 (14:34 +0000)
Just check for it once; doing it every time we failed to create an
ATContext is just going to fill up the logs.

gtk/a11y/gtkatspicontext.c

index 3216c33a403f09c5c97aaba12548122be439e4b5..46b157a3fa690f3241b0ac723fae4ffb7d9b0dff 100644 (file)
@@ -1711,9 +1711,17 @@ gtk_at_spi_create_context (GtkAccessibleRole  accessible_role,
   g_return_val_if_fail (GTK_IS_ACCESSIBLE (accessible), NULL);
   g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
 
-  const char *bus_address = get_bus_address (display);
+  static const char *bus_address;
 
   if (bus_address == NULL)
+    {
+      bus_address = get_bus_address (display);
+
+      if (bus_address == NULL)
+        bus_address = "";
+    }
+
+  if (*bus_address == '\0')
     return NULL;
 
 #if defined(GDK_WINDOWING_WAYLAND)